package com.unity.bh3.service;

import com.unity.bh3.dto.UserInfoResponse;
import com.unity.bh3.dto.UserLoginRequest;
import com.unity.bh3.dto.UserRegisterRequest;
import com.unity.bh3.entity.User;
import java.util.List;

/**
 * 用户服务接口
 */
public interface UserService {
    
    /**
     * 用户注册
     */
    UserInfoResponse register(UserRegisterRequest request);
    
    /**
     * 用户登录
     */
    UserInfoResponse login(UserLoginRequest request);
    
    /**
     * 获取用户信息
     */
    UserInfoResponse getUserInfo(Long userId);
    
    /**
     * 增加钻石
     */
    boolean addDiamond(Long userId, Integer amount);
    
    /**
     * 减少钻石
     */
    boolean reduceDiamond(Long userId, Integer amount);
    
    /**
     * 增加金币
     */
    boolean addGold(Long userId, Integer amount);
    
    /**
     * 减少金币
     */
    boolean reduceGold(Long userId, Integer amount);
    
    /**
     * 增加体力
     */
    boolean addStamina(Long userId, Integer amount);
    
    /**
     * 减少体力
     */
    boolean reduceStamina(Long userId, Integer amount);

    List<UserInfoResponse> searchUsersByNickname(String nickname, int limit);
}